Apache Ant-এ <javac>
টাস্কটি Java সোর্স কোড কম্পাইল করার জন্য ব্যবহৃত হয়। এটি src ডিরেক্টরি থেকে .java ফাইলগুলোকে .class ফাইলে রূপান্তরিত করে। <javac>
টাস্কের মাধ্যমে আপনি বিভিন্ন অপশন এবং কনফিগারেশন ব্যবহার করে জাভা কোড কম্পাইল করতে পারবেন, যেমন ডিরেক্টরি পাথ, জেআর (JAR) ফাইল, বা ক্লাসপাথ।
<javac srcdir="source_directory" destdir="destination_directory" />
এখানে:
এটি একটি সাধারণ উদাহরণ যেখানে src ডিরেক্টরি থেকে সমস্ত .java ফাইল কম্পাইল করা হবে এবং build/classes ডিরেক্টরিতে সংরক্ষণ করা হবে:
<project name="CompileExample" default="compile" basedir=".">
<target name="compile">
<javac srcdir="src" destdir="build/classes" />
</target>
</project>
src
ডিরেক্টরি)।build/classes
ডিরেক্টরি)।এই স্ক্রিপ্টটি চালানোর পর, src
ডিরেক্টরি থেকে সব .java ফাইল কম্পাইল হয়ে build/classes ডিরেক্টরিতে .class ফাইলগুলো তৈরি হবে।
কখনও কখনও আপনি কিছু ফাইল বা ডিরেক্টরি ইনক্লুড বা এক্সক্লুড করতে চাইবেন। আপনি include এবং exclude প্যাটার্ন ব্যবহার করে নির্দিষ্ট ফাইল বা ডিরেক্টরি নির্বাচন করতে পারেন।
<project name="CompileExample" default="compile" basedir=".">
<target name="compile">
<javac srcdir="src" destdir="build/classes">
<include name="**/*.java" />
<exclude name="**/Test*.java" />
</javac>
</target>
</project>
Test
দিয়ে শুরু হওয়া ফাইলগুলো বাদ দেবে।এই স্ক্রিপ্টটি সমস্ত .java ফাইল কম্পাইল করবে, তবে Test
দিয়ে শুরু হওয়া .java ফাইলগুলো বাদ দেবে।
এটি অত্যন্ত গুরুত্বপূর্ণ যখন আপনি ক্লাসপাথের মধ্যে নির্দিষ্ট লাইব্রেরি বা JAR ফাইল ব্যবহার করতে চান। আপনি classpath অ্যাট্রিবিউট ব্যবহার করে ক্লাসপাথ সেট করতে পারেন।
<project name="CompileWithClasspath" default="compile" basedir=".">
<target name="compile">
<javac srcdir="src" destdir="build/classes">
<classpath>
<pathelement path="lib/some-library.jar" />
</classpath>
</javac>
</target>
</project>
এটি some-library.jar লাইব্রেরি সহ কোড কম্পাইল করবে।
আপনি source এবং target অ্যাট্রিবিউট ব্যবহার করে Java এর সংস্করণ নির্ধারণ করতে পারেন, যেটি কোড কম্পাইল করার সময় Java ভার্সনকে নির্দেশ করবে। এটি খুব গুরুত্বপূর্ণ যদি আপনি একটি নির্দিষ্ট Java ভার্সনে কোড কম্পাইল করতে চান (যেমন, Java 8 বা Java 11)।
<project name="CompileWithVersion" default="compile" basedir=".">
<target name="compile">
<javac srcdir="src" destdir="build/classes" source="1.8" target="1.8"/>
</target>
</project>
এই স্ক্রিপ্টটি Java 8 এর জন্য কোড কম্পাইল করবে এবং build/classes ডিরেক্টরিতে .class ফাইলগুলো তৈরি করবে।
টাস্কের মাধ্যমে আপনি debugging এবং optimization সেটিংস ব্যবহার করতে পারেন। উদাহরণস্বরূপ, debug স্যুইচ ব্যবহার করে আপনি debugging information অন্তর্ভুক্ত করতে পারেন।
<project name="CompileWithDebug" default="compile" basedir=".">
<target name="compile">
<javac srcdir="src" destdir="build/classes" debug="true" />
</target>
</project>
কখনও কখনও আপনি fork ব্যবহার করে আলাদা প্রসেসে javac কমান্ড চালাতে চাইবেন। এটি তখন কাজে আসে যখন আপনি JVM এর কম্পাইলেশন সেটিংস পরিবর্তন করতে চান বা অ্যাপ্লিকেশন পারফরম্যান্সের জন্য এটি প্রয়োজন হতে পারে।
<project name="CompileWithFork" default="compile" basedir=".">
<target name="compile">
<javac srcdir="src" destdir="build/classes" fork="true" />
</target>
</project>
আপনি যদি external libraries বা JAR files ব্যবহার করতে চান, তবে টাস্কের মধ্যে ক্লাসপাথ প্যারামিটার ব্যবহার করতে পারেন।
<project name="CompileWithExternalLib" default="compile" basedir=".">
<target name="compile">
<javac srcdir="src" destdir="build/classes">
<classpath>
<pathelement path="libs/some-library.jar" />
</classpath>
</javac>
</target>
</project>
<javac>
টাস্কটি Apache Ant-এ Java কোড কম্পাইল করার জন্য ব্যবহৃত হয়। এটি source, target, classpath, debug, fork সহ বিভিন্ন অ্যাট্রিবিউট ব্যবহার করে Java সোর্স কোডের কম্পাইলেশন কাস্টমাইজ করতে সাহায্য করে। আপনি fileset বা include টাস্কের সাথে এটি একত্রে ব্যবহার করে নির্দিষ্ট ফাইল বা ডিরেক্টরি থেকে কোড কম্পাইল করতে পারেন। এটি Java build প্রসেসের জন্য একটি অত্যন্ত গুরুত্বপূর্ণ টাস্ক এবং এটির সাহায্যে আপনি সহজেই কোড কম্পাইলেশন এবং ডিপ্লয়মেন্ট অটোমেট করতে পারেন।
common.read_more